/*
 * EmptySpaceMgr.h
 *
 *  Created on: Sep 18, 2011
 *      Author:
 *
 *  Admin. of empty blocks in a blocks file.
 */

#ifndef EMPTYSPACEMGR_H_
#define EMPTYSPACEMGR_H_

#include <fstream>
#include <iostream>
#include <string>
#include <vector>

using namespace std;

class EmptySpaceMgr {

public:

	EmptySpaceMgr(string filePath);
	virtual ~EmptySpaceMgr();

	// agrego a la estructura LIFO un bloque libre
	bool add(unsigned long _regId);

	// obtiene un id de bloque libre (LIFO). false si no hay bloques libres
	// unsigned long variable = 0;
	// bool resultado = get(&variable);
	bool get(unsigned long *_regId);

	// consulta si contiene ese ID
	bool has(unsigned long _regId);

	void deleteAll();

protected:
	fstream _file;
	string filePath;

private:

};


#endif /* EMPTYSPACEMGR_H_ */
